﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace ZombieSurvival
{
    abstract class Character : GameObject, IMovable, IAttackable, IDrawable
    {
       // protected int Health;
        //protected int AttackStength;
        protected WorldPosition WorldPosition;
        private Texture2D _objectTexture;

        private Vector2 _screenPosition;

        public abstract void Initialize(Texture2D texture, Vector2 screenposition);

        public abstract void Move(WorldPosition position);

        public abstract void Move(int direction);

        
        public void Attack(GameObject attacked)
        {
        }

        public Texture2D ObjectTexture
        {
            get { return _objectTexture; }
            set
            {
                _objectTexture = value;
                _objectTexture = ObjectTexture;
            }
        }

        public Vector2 ScreenPosition
        {
            get { return _screenPosition; }
            set
            {
                _screenPosition = value;
                _screenPosition = ScreenPosition;
            }
        }

        public abstract void Draw(SpriteBatch spriteBatch);
    }
}
